Field of the Invention
The present invention relates to a license management system.
Description of the Related Art
As a method for permitting a client to use a paid application, there is a floating method. The floating method is a method in which a local license server pools a certain number of licenses (as many licenses as can be simultaneously used) in advance and temporarily lends a license to a client, thereby allowing the client to temporarily use an application. A floating license managed by the floating method is returned to the local license server if each client finishes using an application corresponding to the floating license. Thus, another client acquires the returned license and thereby can use the same application. If the time period in which each client uses an application is shifted using such a floating license, more clients than the number of pooled licenses can use the application. It is desirable that the floating license should be held uninterruptedly during work and returned promptly after the work. Thus, generally, the floating license is used in such a manner that the license is acquired when the application is started, and the license is returned when the application is ended (when a process is ended).
In the publication of Japanese Patent Application Laid-Open No. 07-200492, if a start request to start a client application is made, a license management unit on a client side communicates with a license server. If the number of users of corresponding software is less than the number of licenses, the license server permits the use of the corresponding software. If the use of the corresponding software is permitted, the license management unit executes the application. In the publication of Japanese Patent Application Laid-Open No. 07-200492, if a plurality of client applications is present in a client, the license management unit distinguishes each application by an application identification (ID). Then, using a use counter provided for each application ID, the license management unit determines whether the number of users reaches the number of licenses.
In the publication of Japanese Patent Application Laid-Open No. 07-200492, if a plurality of applications is present, each application is managed based on a different license. Thus, there can be an application that can be used and an application that cannot be used, depending on the usage state of the license (i.e., whether the number of clients using each application reaches the upper limit of the number of licenses).
On the other hand, in a suite product in which a plurality of applications cooperates with each other, it is necessary to allow the use of the entire group of applications. However, the technique discussed in the publication of Japanese Patent Application Laid-Open No. 07-200492 individually manages a plurality of applications based on respective application IDs and individually acquires licenses for the applications. Thus, depending on the usage state, there is a case where the entire group of applications cannot be used. Thus, this technique is not suitable for a product in which a plurality of applications cooperates with each other.
In response, the applicant considers providing in a client a license management unit operating by a process independent of the process of each application, and causing the license management unit to acquire a single license from a license server, thereby allowing the use of a plurality of applications related to each other.
For the following reasons (1) to (3), it is desirable to manage a plurality of applications based on a single license, manage a license acquired by a single license management unit (a single license management application), and cause the license management unit to operate by a process independent of the processes of the plurality of applications.
(1) It is easier to simplify the configuration in which a plurality of applications included in a suite product is managed based on a single license, than the configuration in which each of a plurality of applications included in a suite product is managed based on a different license.(2) If the license management unit is not provided, and each application acquires and returns a license, the traffic between a client and a server increases, which is not desirable. Further, it is also possible to employ a method in which the license management unit is not provided, an application started first acquires a license from a server, and another application cooperates with the application started first, thereby managing the license. In this case, however, interprocess communication occurs between the application started first and another application. This has an adverse influence on the performance and also complicates the process for transferring the license after the application started first is ended. Thus, it is realistic that the license management unit manages the acquisition and the return of a license in a unified manner.(3) A floating license is consumed so long as an application is operating. Thus, because of this characteristic of the floating license, the floating license is often managed not in a file but in a memory. This is because an update process, which occurs frequently, can be performed in a short time, and when the application crashes, the floating license can automatically expire. Thus, it is desirable that the license management unit should not operate as a part of each application, but should operate by a process independent of the process of each application.
For the above reasons, it is possible that the license management unit for operating by an independent process acquires and returns a license, and each application cooperates with the license management unit when the application is started and ended.
If, however, any application is to be started when the license management unit is not operating (i.e., when a license has not yet been acquired), the application first starts the license management unit, which operates by an independent process, and then acquires a license via the license management unit. In this case, the start of the license management unit and interprocess communication between the application and the use right management unit occur. Thus, the response when the application is started is worse than that in the case where the application itself directly communicates with the license server and acquires a license. Particularly, in an application that frequently starts and ends (e.g., a gadget application that starts according to the dragging and dropping of a file onto an icon and automatically ends after a predetermined process is executed), an adverse influence on the performance is noticeable. This reduces convenience for a user.